©作者 | 张欣
单位 | 香港理工大学
研究方向 | 图神经网络、自监督学习
论文标题:
PiCO: Contrastive Label Disambiguation for Partial Label Learning
Haobo Wang, Ruixuan Xiao, Yixuan Li, Lei Feng, Gang Niu, Junbo Zhao
ICLR 2022
https://arxiv.org/abs/2201.08984
https://github.com/hbzju/PiCO
Background
▲ 图1. 一张拥有3个候选标签的输入图,它正确的标签是阿拉斯加雪橇犬(Malamute)
现代深度神经网络的训练通常需要大量有标签的数据(labeled data),这给训练数据的收集带来了巨大的困难。这是因为给现实世界中的数据打标签 (data annotation) 会存在标签模糊 (label ambiguity) 和噪声的影响。如图 1 所示,对于给图片打标签的人 (human annotator) 来说,将阿拉斯加雪撬犬这个这个正确的标签从它的候选标签集 {哈士奇犬、阿拉斯加犬、萨摩耶犬} 中选出来是很困难的,因为这几种犬类长得非常相似。标签模糊性 (label ambiguity) 的问题在许多应用中普遍存在,但经常被忽视。这就突显出了偏标签学习 (partial label learning PLL) 的重要性。在 PLL 中,每个训练数据都会有一组候选标签集 (candidate labels),而不是一个人工标注的"正确"标签 (ground-truth label)。这与有监督学习不同,在有监督学习 (supervised learning) 下,每个训练数据都必须选择一个"正确"标签。所以,由于 PLL 问题的打标签成本相对较低,在各种应用下都被认为是更常见且实用的。具体来说,PLL 问题的定义如下:令 为输入空间(input space), 为输出的标签空间(output label space)。我们考虑一个训练数据集 ,其中每个元组 (tuple) 都包括一张图像 (image) 和一个候选标签集 (candidate label set) 。与监督学习 (supervised learning) 相同,PLL 的目标是获得一个映射函数,该函数可以根据输入预测出相应的一个正确标签 (true label)。与监督学习不同的是,PLL 在标签空间 (label space) 有更多的不确定性。PLL 的一个基本假设是,一张图像的正确标签 (ground-truth label) 隐藏在其的候选标签集中 ,且在训练时对模型 (learner) 是不可见的 (invisible)。因此,与拥有显式正确标签的有监督学习相比,PLL 的训练过程会受到固有的 (inherent) 标签模糊性的影响。
Motivation
如 Background 所述,尽管 PLL 的应用前景广阔,但它会受到标签模糊性的影响。所以,PLL 的一个核心挑战就是标签消歧 (label disambiguation),即从候选标签集 (candidate label set) 中识别出正确的标签 (ground-truth label)。现有的一些标签消歧模型通常假设:在特征空间中距离相近的数据点更有可能享有相同的正确标签,这就导致它们往往需要一个较好的特征表示 (feature representation) 才可以达到比较好的表现。这种对表征 (representation) 的依赖会形成一个重大的困境 (non-trivial dilemma):标签不确定性 (label uncertainty) 会对表征学习 (representation learning) 的过程产生不好的影响,从而生成不好的表征,而表征的不良质量又会反过来阻碍有效的标签消歧 (label disambiguation)。到目前为止,为解决这个问题所做的努力还很少。基于此,这篇文章想要通过调和这两个互相依赖的部分:表征学习和标签消歧之间的内在矛盾,来解决这个困境问题。
Method
▲ 图2. PiCO的框架图
为了解决表征学习和标签消歧之间的矛盾性,这篇文章提出了一个运用对比学习来进行标签消歧的偏标签学习模型 (Partial label learning with COntrastive label disambiguation) PiCO。PiCO 主要包含两个部分,分别用来解决表征质量 (representation quality) 和标签模糊性 (label ambiguity) 的问题。这两个部分可以系统化地变成一个整体进行运作并给对方提供反馈 (reciprocate each other)。具体来说分为如下两个部分: 1. 为了提升表征的质量, PiCO 通过对比学习 (contrastive learning) 来进行偏标签学习 (partial label learning)。PiCO 利用分类器的输出来生成伪正对 (pseudo positive pair),从而进行对比性的比较 (contrastive comparison)。2. 为了有效解决标签模糊性的问题,这篇文章提出了一种基于典型的标签消歧 (prototype-based label disambiguation) 策略。通过 1 中学习到的表征,我们可以找到每个类别的典型表征 (class prototype)。从而我们可以根据最接近的类别典型 (class prototype),逐步更新用于分类的伪标签 (pseudo target)。
通过上述两个步骤的交替进行,PiCO 可以收敛并得到具有高度可区分性的高质量表征 (highly distinguishable representation),以实现精确分类。图 2 展示了 PiCO 的框架图。
3.1 Contrastive representation learning for PLL标签空间的不确定性会给学习有效的表征带来了特有的障碍,所以在 PiCO 中,我们想要通过对比性学习的方式来促进嵌入空间中的聚类效应 (clustering effect),从而提升表征的质量。对比性学习在很多领域中都得到了广泛的研究,但它在 PLL 领域仍然没有被运用过。在 PLL 运用对比性学习的最主要问题在于如何构建一个正样本对集 (positive sample set)。在传统的有监督学习框架下,我们可以很容易地根据真实标签 (ground-truth label) 来构建正样本对 (positive pair),即拥有相同标签的样本为正对。
然而,在 PLL 的框架下,由于我们没有真实标签 (ground-truth label),构建正样本对就没那么简单 (straightforward)。以下内容仅对如何在 PLL 中构建正样本对集进行介绍,对传统 PLL 和对比性学习的目标函数 和 不多做赘述,有兴趣的读者可以自行阅读原文。现在,我们介绍如何构建正样本集 。我们提议利用来自分类器 (classifier) 的预测标签 (predicted label) 。需要注意的是,我们限制预测标签 必须在候选集 中。由此,正样本的选取如公式 1 所示:
▲ 公式1
其中 是 L2 归一化后的表征 (nomalized embedding), 是 对应训练样本的预测标签。简单来说,我们把 x 的正样本集 P(x) 定义为和 x 拥有相同预测标签的样本,即两个样本的预测标签相同,则他们为正样本对,反之则为负样本对。为了提高计算效率,我们还维护了一个标签队列 (label queue) 来存储过去的预测标签。尽管这个构建正样本集的方法很简单,但它在理论上是合理的 (theoretically justified),同时实验结果也很好 (superior empirical results)。值得注意的是,我们也可以运用更复杂的构建策略 (具体请参考原文附录 B.4)。把这一切放在一起,我们共同 (jointly) 训练分类器 (classifier) 和对比网络 (contrastive network),总的损失函数为:
尽管如此,我们想要利用 CL 学习高质量表征 (high-quality representation) 的目标仍然依赖于准确的分类器预测来构建正样本集,这仍然无法解决标签模糊性 (label ambiguity) 的问题。为此,我们进一步提出了一种基于对比性表征 (contrastive embeddings) 的标签消歧机制 (label disambiguation mechanism),并表明这两个组成部分是互惠互利的 (mutually beneficial)。
3.2 Prototype-based label disambiguation
如前所述,对比损失 (contrastive loss) 会在嵌入空间 (embedding space) 构成聚类效应 (clustering effect)。作为一种协同算法,我们引入了一种新的基于典型表征的 (prototype-based) 标签消歧策略。重要的是,我们为每个类 保留了一个它的典型表征 (prototype embedding vector)。它可以被视为一组代表性的 (representative) 嵌入向量 (embedding vector)。一般来说,伪标签 (pseudo target) 分配的一个简单方法是找到与当前表征最近的典型表征 (prototype),将典型表征的硬标签 (hard label) 作为当前表征的伪标签 (pseudo target)。这个方法类似于一个聚类 (clustering) 的步骤。在这个简单方法的基础上,我们额外通过移动平均机制来软化分配的硬标签 (hard label)。这是基于一个直观的假设:典型表征 (prototype) 的使用可以和对比性学习 (contrastive term) 带来的聚类效应建立联系 (connection)。伪标签的更新 Pseudo Target Updating:我们提出了一种软化 (softened) 硬标签和移动平均 (moving-average) 的策略来更新伪标签 (pseudo target)。具体来说,我们首先用均匀分布 (uniform distribution) 来初始化 (initialize) 伪标签,即 。然后,我们通过移动平均来对其进行迭代更新,如公式 3 所示。▲ 公式3
其中 是一个正的常数 (positive constant), 表示对应于第 类 (class) 的典型表征 (prototype)。这个设计的直观想法 (intuition) 是拟合均匀分布的伪标签能给分类器带来良好的初始化,因为这样一来对比性表征 (contrastive embedding) 在开始时的辨识度会没那么大 (less distinguishable)。而移动平均的策略可以将伪标签平滑地 (smoothly) 更新为正确标签,同时确保训练的稳定。在这里,我们给典型表征 (prototype) 更进一步的说明:1. 对于给定的输入 x,最接近的典型表征 (prototype) 是他的真实类标签 (ground-truth class label)。在每一步,s 有向基于公式 3 中由 z 定义的独热分布 (one-hot distribution) 轻微移动的趋势。 2. 如果一个样本持续地指向同一个典型表征 (prototype),那么伪标签 s 就可以收敛(几乎)到一个具有最小模糊性的独热向量(one-hot vector)。典型表征的更新 Prototype Updating:更新典型表征的一个最典型的方法是在每次训练迭代 (iteration) 中都去计算它。但这个方法会带来沉重的计算负担,并反过来造成难以忍受的训练延迟 (training latency)。因此,我们以一种类似于移动平均的方式来更新类条件 (class-conditional) 典型表征 (prototype),如公式 4 所示。其中类 c 的动量典型表征(momentum prototype) 是由预测类别为 c 的归一化 (normalized) 查询表征 (query embedding) q 的移动平均数来定义的。 是一个可调的 (tunable) 超参数。3.3 Synergy between contrastive learning and label disambiguation上述的 PiCO 两个关键组成部分看似互相分离,但其实它们是以协作的 (collaborative) 方式工作的。首先,由于对比项 (contrastive term) 在表征空间 (embedding space) 中表现出良好的聚类效应 (clustering effect),则标签消歧模块可以通过设置更精确的典型表征 (prototype) 来进一步利用这点。其次,一个好的 (well-polished) 标签消歧结果可以反过来有利于正样本集的构建,这也是对比学习的一个关键部分。当这两个部分的表现都达到满意的结果时,整个训练过程就会收敛。
Experiment
实验部分可分为如下章节,实验设置和基线 (baseline) 的介绍在这里不过多赘述,有兴趣的读者可以自行阅读全文。
4.1 Main Empirical Results
PiCO 取得了 SOTA 成果。如表 1 所示,PiCO 在所有数据集上的表现都明显优于所有基线 (baseline)。此外,随着候选标签集 (candidate set) 逐渐变大,PiCO 始终表现优异,而基线则表现出了明显的性能下降。还有一点值得指出的是,以前的工作通常是只在有小标签空间 (a small label space) 的数据集上进行评估,而在这篇文章中我们通过在 CIFAR-100 数据集上进行在大标签空间的评估实验。实验结果表明,当 q=0.1 时,所有基线都不能获得令人满意的结果,而 PiCO 仍然表现较好 (competitive)。最后,我们发现 PiCO 与全监督对比学习模型 (fully supervised contrastive learning model) 表现相当 (comparable),这表明 PiCO 在标签消歧 (label disambiguation) 上歧义消除的很充分,突出了 PiCO 标签消歧 (label disambiguation) 策略的优越性。
PiCO 学习到了具有更大区分性 (distinguishable) 的表征。我们通过特征编码器 (feature encoder) t-SNE 可视化了图像的表征 (image representation),如图 3 所示。不同的颜色代表不同类的真实标签 (ground-truth class label)。我们使用 CIFAR-10 数据集并设置 q=0.5。我们比较了 3 种方法下的 t-SNE 表征 (embedding):1. 用均匀分布的伪标签 (uniform pseudo target) 训练的模型,即:
2. 表现最好的基线 (baseline) PRODEN;从图 3 中,我们观察到由于均匀分布下的监督信号 (supervision signal) 具有高度的不确定性 (high uncertainty),所以该类模型可视化出的表征区分度较差 (indistinguishable)。与它相比,PRODEN 可视化出的表征在区分度上有一定的改善,但仍然存在一些类的重叠(比如图 3 中蓝色和紫色类)。相比之下,PiCO 产生了分离度良好的簇(cluster)和区分度更高的表征,这验证了 PiCO 在学习高质量表征上的有效性。
▲ 图3. 图像表征的可视化。不同的颜色代表对应的类别 (class)
4.2 Ablation studies
在这章中,我们介绍 PiCO 在消融实验中的结果,以验证 PiCO 的有效性。1.PiCO 的对比学习 和标签消歧 (label disambiguation) 模块对它性能的影响;在这一节中,我们消除了 PiCO 的两个关键组成部分的贡献:对比学习和基于典型的标签消歧 (prototype-based label disambiguation) 策略。具体来说,我们将 PiCO 与它如下的两个变体进行比较:(1) 变体1 PiCO w/o disambiguation:这个变种移除了基于典型的标签消歧策略,将伪标签保持为均匀分布 ;(2) 变体2 PiCO w/o :这个变种进一步移除了对比学习,仅根据均匀分布的伪目标(uniform pseudo target)来训练分类器。实验结果如表 2 所示,我们可以看到变种 1 的表现远优于变种 2,这证明了对比学习模块对于产生高质量表征的重要性。此外,通过标签消歧策略,PiCO 可以取得接近于全监督设置 (fully supervised setting) 下的表现,这验证了 PiCO 在识别真实标签 (ground-truth) 方面的能力。
▲ 表2. 消融实验的实验结果
基于对比学习产生的典型表征(contrastive prototype),各种策略都可以被用来消除标签的歧义。(1) 独热典型表征策略 (One-hot Prototype):通过找到距离最近的一个典型表征将它的独热伪标签 (one-hot pseudo target) s=z 分配给目标 ();(2) 软典型表征策略 (Soft Prototype Probs):使用一个类概率 (soft class probability) 作为伪标签 (pseudo target) ()。(3) 移动平均软典型表征策略 (MA Soft Prototype Probs):使用移动平均 (moving-average) 技术来逐步更新类概率 (soft probabilities) 作为伪标签 (pseudo target)。
实验结果如表 2 所示,我们可以看到,直接使用独热/软典型表征策略都会得到还不错的表现 (competitive result)。但是移动平均软典型表征策略表现不佳,这表明软标签分配在识别真实标签方面不可靠。最后,PiCO 在两个数据集上的准确率都超过了最佳变体≈2%,这显示了我们标签消歧策略的优越性。
图 4 展示了 PiCO 在 CIFAR-100 数据集 (q=0.05) 上的学习曲线 (learning curve)。我们可以看到,PiCO 在 时取得了最好的结果。当 取一个较小值时,PiCO 的性能下降,尤其是在训练的早期。当 时,PiCO 表现得较好 (competitive),但比 时的性能要差。这证明了在训练的早期,使用均匀分布的伪标签作为初始化是获得优异性能的关键。在另一个极端值即当 时,PiCO 的性能退化并表现出了严重的过拟合现象。综上所述,当 ,PiCO 表现较好。
▲ 图4:PiCO在不同的移动平均系数下在CIFAR-100(q=0.05)上的性能
4.3 Further extension: fine-grained partial label learning
回顾 Background 一章中狗的例子,我们可以了解语义相似 (semantically similar) 类别更有可能导致标签模糊性 (label ambiguity)。这就引出了一个问题:PiCO 在更具挑战性的细粒度 (fine-grained) 图像分类任务中是否依旧有效?为了验证这一点,我们在两个细粒度图像数据集 CUB-200 和 CIFAR-100-H 上进行实验。实验设置不多做赘述,有兴趣的读者可自行阅读原文。实验结果如表 3 所示,PiCO 以很大的幅度超过了最好的基线 PRODEN,这个结果验证了即使在存在强烈标签模糊性的情况下,PiCO 仍然有效。
▲ 表3. 细粒度数据集上的准确率比较
Why PiCO improves partial label learning?
这一节从理论上说明了为什么对比学习有助于区分真实标签 (ground-truth label),有兴趣的读者可自行阅读原文。
Conclusion
在这个工作中,我们提出了一个新颖的部分标签学习 (partial label learning) 框架 PiCO。PiCO 的关键思想是通过使用由对比学习得来的典型表征 (embedding prototype),从候选集 (candidate set) 中识别出真实标签 (ground-truth)。我们进行了广泛的实验,并表明 PiCO 实现了 SOTA 的性能,并可以与全监督学习相匹敌 (competitive)。理论分析表明,PiCO 可以从 EM 算法的角度来解释其的有效性。我们的方法可以有益于具有模糊标签的多分类应用 (multi-class classification)。我们计划将 PiCO 扩展到图像分类以外的任务,并希望我们的工作能引起社会各界对使用对比学习得出典型表征进行 PLL 的关注。
Personal Comments
这篇文章提出了一个新的 PLL 模型 PiCO,利用对比学习来学习典型表征,并利用移动平均来更新。笔者本人是比较喜欢这篇文章的,模型简单清晰,实验做得很扎实,且附有理论分析。
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:hr@paperweekly.site
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧